/**         .----.
 *       _.'__    `.
 *   .--($)($$)---/#\
 * .' @          /###\
 * :         ,   #####
 *  `-..__.-' _.-\###/
 *        `;_:    `"'
 *      .'"""""`.
 *     /,     ,\\
 *    //  !BUG  \\
 *    `-._______.-'
 *    ___`. | .'___
 *   (______|______)
 *
 * 邮件自动补全-JS
 * @author kwun
 * @email 527565073@qq.com
 */
+(function($){
    $.fn.kslide=function(option){
        var _default={
            effect:"scrollLeft",
            speed:300,
            space:2000,
            auto:true,
            trigger:'click',
            btnEnable:true
        }

        $.extend(true,_default,option);
        var me = $(this),
            meId = $(this).attr('id'),
            liCount=me.children().children().length,
            boxWidth=me.width(),
            boxHeight=me.height(),
            slideBox = $("<div id='" + meId + "_slideBox'>"),
            slideBoxInner = $("<div id='" + meId + "_slideBoxInner'>");

        me.children().appendTo(slideBoxInner);
        slideBox.append(slideBoxInner);
        me.append(slideBox);


        if (_default.btnEnable) {
            var ulBtn = $("<ul class='"+meId+"_switcher_box'>");
            for (var i = 0; i < liCount; i++) {
                var liBtn = $("<li id='" + meId + "_btn" + i + "' >" + (i + 1) + "</li>");
                ulBtn.append(liBtn);
            };
            me.append(ulBtn);
        }


        var no = 0;
        var content_box = $('#'+meId+'_slideBox'),content_tag = content_box.find('li');
        var switcher_box = $('.'+meId+'_switcher_box'),switcher_tag = switcher_box.find('li');
        var slideInterval;

        if(_default.effect=='scrollLeft'){
            content_tag.css({
                float:'left'
            });
        }else if(_default.effect=='scrollTop'){
            content_tag.css({
                float:'none'
            })
        }else if(_default.effect=='fade' && _default.effect=='none'){
            content_tag.css({
                position:'absolute',
                display:'none'
            })
        }

        if(_default.auto) slideInterval=setInterval(slideShow,_default.space);
        switcher_tag.bind(_default.trigger,function() {
            clearInterval(slideInterval)
            no = $(this).index();
            slideShow();
            if(_default.auto) slideInterval=setInterval(slideShow,_default.space);
        });

        function slideShow(){
            if(no>=content_tag.length) no=0;
            switcher_tag.eq(no).addClass('crt').siblings().removeClass('crt');
            switch(_default.effect){
                case 'scrollLeft':
                    content_box.stop().animate({"scrollLeft":no*(content_box.width())},_default.speed);
                    break;
                case 'scrollTop':
                    content_box.stop().animate({"scrollTop":no*(content_box.height())},_default.speed);
                    break;
                case 'fade':
                    content_tag.eq(no).stop().fadeIn(_default.speed).siblings().stop().fadeOut(_default.speed);
                    break;
                case 'none':
                    content_tag.eq(no).show().siblings().hide();
                    break;
            }
            no++;
        }slideShow();
    }
})(jQuery);